﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using _1.Presentacion.Modulo_Eventos;
using _1.Presentacion.Modulo_Finanzas;
using _1.Presentacion.Modulo_Inventario;
using _1.Presentacion.Modulo_Seguridad;
using _1.Presentacion.Modulo_Miembros;
using _1.Presentacion.Modulo_Reportes;
using _1.Presentacion.Utilidades;
using _2.Logica.Seguirdad;
using _4.Modelado.Seguridad;


namespace _1.Presentacion.Principal
{
    public partial class Pantalla_Principal : Päntalla_Base
    {
        public Pantalla_Principal()
        {
            InitializeComponent();
        }

        private void Pantalla_Principal_Load(object sender, EventArgs e)
        {

        }
      

    

        #region Modulo Seguridad
        private void usuariosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //1 = Mantenimeinto de usuarios
                if (Validaciones.ComprobarPermisos(lista, 1))
                {
                    Gestionar_Usuarios ventana = new Gestionar_Usuarios();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

        private void áreasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //3 = Mantenimeinto de Areas
                if (Validaciones.ComprobarPermisos(lista, 3))
                {
                    Gestionar_Areas ventana = new Gestionar_Areas();
                    ventana.Show(); ;
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

        private void perfilesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //2 = Mantenimiento Perfiles
                if (Validaciones.ComprobarPermisos(lista, 2))
                {

                    Gestionar_Perfiles ventana = new Gestionar_Perfiles();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        #endregion

        #region Modulos Miembros

        private void miembrosToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //6 = Mantenimeinto de Miembros
                if (Validaciones.ComprobarPermisos(lista, 6))
                {
                    Informacion_Miembro ventana = new Informacion_Miembro();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

        private void consolidaciónToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //7 = Mantenimeinto de Consolidados
                if (Validaciones.ComprobarPermisos(lista, 7))
                {
                    Gestionar_Consolidado ventana = new Gestionar_Consolidado();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        #endregion

        #region Modulo Inventario


        private void gestionFamiliToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //14 = Mantenimeinto de Familias
                if (Validaciones.ComprobarPermisos(lista, 14))
                {
                    Gestionar_Familia ventana = new Gestionar_Familia();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

        private void bodegaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //12 = Mantenimeinto de Bodega
                if (Validaciones.ComprobarPermisos(lista, 12))
                {
                    Gestionar_Bodega ventana = new Gestionar_Bodega();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void ajusteInventarioToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //13 = Mantenimeinto de Inventario
                if (Validaciones.ComprobarPermisos(lista, 13))
                {
                    Ajuste_Inventario ventana = new Ajuste_Inventario();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void razónAjusteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //13 = Mantenimeinto de Inventario
                if (Validaciones.ComprobarPermisos(lista, 13))
                {
                    RazonAjuste ventana = new RazonAjuste();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }


        private void artículosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {

                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);

                //11 = Mantenimeinto de Articulos
                if (Validaciones.ComprobarPermisos(lista, 11))
                {
                    var ventana = new Gestionar_Articulo();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

        #endregion

        #region Modulo Finanzas

        private void gestionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //10 = Mantenimiento Razon Moviento
                if (Validaciones.ComprobarPermisos(lista, 10))
                {

                    var ventana = new Razon_Movimiento();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void rToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //8 = Mantenimiento Ingresos y Egresos
                if (Validaciones.ComprobarPermisos(lista, 8))
                {

                    var ventana = new frm_IngresoEgreso();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }




        #endregion

        #region Modulo Eventos

        private void tipoEventosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //5 = Mantenimiento Tipo Evento
                if (Validaciones.ComprobarPermisos(lista, 5))
                {
                    var ventana = new Gestionar_Tipo_Evento();
                    ventana.Show();

                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }

        private void gestiónEventosToolStripMenuItem_Click(object sender, EventArgs e)
        {

            try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //4 = Mantenimiento Eventos
                if (Validaciones.ComprobarPermisos(lista, 4))
                {
                    Gestionar_Eventos ventana = new Gestionar_Eventos();
                    ventana.Show();

                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


        }


        #endregion


        private void registroEgresosToolStripMenuItem_Click(object sender, EventArgs e)
        {
             try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //9 = Mantenimiento Infromarcion egregos
                if (Validaciones.ComprobarPermisos(lista, 9))
                {

                    //var ventana = new Informacion_Egreso();
                    //ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void miembrosToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            try
            {
                var logica = new PermisoL();
                List<Permiso> lista = logica.ConsultarPermisosActivos(VariableGlobales.iCodPerfil);
                //25 = generar Reportes
                if (Validaciones.ComprobarPermisos(lista,25))
                {

                    var ventana = new ReporteMiembros();
                    ventana.Show();
                }
                else
                    MessageBox.Show("No cuenta con permisos suficientes. Contacte al administrador", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);

            }
            catch (Exception exc)
            {

                MessageBox.Show("Se produjo un error " + exc, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        private void Pantalla_Principal_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }

       
        
      
      


    
  

        

  
        


     
    }
}
